package com.store.app.utils;

import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;

import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.regex.PatternSyntaxException;

/**
 * Gson工具类
 * @author Tiny
 *
 */
public class GsonUtil {
	public static String StringFilter(String str) throws PatternSyntaxException {
		// 清除掉所有特殊字符
		String regEx="[`~!@#$%^&*()+=|{}':;',\\[\\].<>/?~！@#￥%……&*（）——+|{}【】‘；：”“’。，、？]";
		Pattern p = Pattern.compile(regEx);
		Matcher m = p.matcher(str);
		return m.replaceAll("").trim();
	}
	private static Gson gson = new Gson();


	/**
	 * 对象格式化成Json
	 * @param o
	 * @return
	 */
	public static String toJson(Object o) {
		return gson.toJson(o);
	}

	/**
	 * Map格式的Json数据格式话成Map
	 * @param str
	 * @return
	 */
	public static Map<String, Object> jsonToMap(String str) {
		return gson.fromJson(str, new TypeToken<Map<String, Object>>() {}.getType());
	}
}
